#ifndef _ORTHONORMAL_BASIS_H_
#define _ORTHONORMAL_BASIS_H_

#include "Vector3.h"

class OrthoNormalBasis
{
public:
	OrthoNormalBasis(void);
	~OrthoNormalBasis(void);

	Vector3* transform(Vector3 a, Vector3* dest);
	Vector3* transform(Vector3* a);
	Vector3* untransform(Vector3 a, Vector3* dest);


	static OrthoNormalBasis* makeFromW(Vector3 w);
	static OrthoNormalBasis* makeFromWV(Vector3 w, Vector3 v);


private:
	Vector3*		u;
	Vector3*		v;
	Vector3*		w;
};

#endif


